Intel Concurrent Collections for Haskell

نویسندگان

  • Ryan Newton
  • Chih-Ping Chen
  • Simon Marlow
چکیده

Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Strategies, but more explicit about granularity and the structure of the computation, which affords the programmer greater control over parallel performance. We present results on 4, 32, and 48-core machines demonstrating parallel speedups ranging between 7X and 22X on non-trivial benchmarks.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cluster Computing using Intel Concurrent Collections

The Intel Corporation is developing a new parallel software and compiler called Concurrent Collections (CnC) to make programming in parallel easier for the user. CnC provides a system of collections comprised of steps, items, and tags. A CnC user specifies their algorithm in a graph representation using these constructs. Using this graph of dependencies, CnC automatically identifies paralleliza...

متن کامل

An Update on Haskell H/STM

At TRANSACT 2014 we described plans and a preliminary implementation for a hybrid TM for the Glasgow Haskell Compiler. Here we give an update on our work and new performance results on a 72-thread Intel Haswell system showing that hardware transactional memory can improve the performance of Haskell TM at realistic scales. We describe our constant space approach to supporting transaction blockin...

متن کامل

Lecture 26 : Dataflow Programming with Intel Concurrent Collections

The Concurrent Collections (CnC) model was developed to address the need for making parallel programming accessible to domain experts or non-professional programmers. One approach that has historically addressed this problem is the creation of domain specific languages (DSLs), such as Matlab, R, SQL, and Google’s MapReduce framework that hide the details of parallelism when programming for a sp...

متن کامل

Measuring the Overhead of Intel C++ CnC over TBB for Gauss-Jordan Elimination

The most efficient parallel execution of dense liner algebra algorithms is to build and evaluate the task graph constrained only by the data dependencies between the tasks. Both Intel C++ Concurrent Collections (CnC) and Threading Building Blocks (TBB) libraries allow such task-based parallel programming. In this paper, we first analyze all the three types of data dependencies in the tiled in-p...

متن کامل

A Case Study in Coordination Programming: Performance Evaluation of S-Net vs Concurrent Collections

We present a programming methodology and runtime performance case study comparing the declarative data flow coordination language S-NET with Intel’s Concurrent Collections (CnC). As a coordination language S-NET achieves a near-complete separation of concerns between sequential software components implemented in a separate algorithmic language and their parallel orchestration in an asynchronous...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010